package com.ethink.warehouse.api.enums;

/**
 * 枚举 物流跟进流程
 *
 * @author default
 * @date 2022-09-26
 */
public enum LogisticsTraceStepEnum {

    /**
     * 准备中
     */
    A("A", "准备中"),
    /**
     * 已通知,待下架
     */
    B("B", "已通知，待下架"),
    /**
     * 已打托,待运输
     */
    C("C", "已打托，待运输"),
    /**
     * 已发货，运输中
     */
    D("D", "已发货，运输中"),
    /**
     * 已到港，提货中
     */
    E("E", "已到港，提货中"),
    /**
     * 已到仓，理货中
     */
    F("F", "已到仓，理货中"),
    /**
     * 理货完成，待上架
     */
    G("G", "理货完成，待上架"),
    /**
     * 上架完成，待确认
     */
    H("H", "上架完成，待确认"),
    /**
     * OA待审核
     */
    H1("H1", "OA待审核"),
    /**
     * OA审核中
     */
    H2("H2", "OA审核中"),
    /**
     * 已完成
     */
    I("I", "已完成"),
    ;

    /**
     * 枚举int值
     */
    private String code;

    /**
     * 枚举名称
     */
    private String name;

    /**
     * 构造方法
     *
     * @param code
     * @param name
     */
    LogisticsTraceStepEnum(String code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * 枚举code
     *
     * @return
     */
    public String getCode() {
        return code;
    }

    /**
     * 枚举名称
     *
     * @return
     */
    public String getName() {
        return name;
    }

    /**
     * 枚举int值获取枚举
     *
     * @param code
     * @return
     */
    public static LogisticsTraceStepEnum valueOfCode(String code) {
        for (LogisticsTraceStepEnum value : LogisticsTraceStepEnum.values()) {
            if (value.getCode().equals(code)) {
                return value;
            }
        }
        return null;
    }
}
